/*
 * Copyright 2012 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package be.free.ts.web;

import com.github.gwtbootstrap.client.ui.Container;
import com.github.gwtbootstrap.client.ui.Nav;
import com.github.gwtbootstrap.client.ui.NavLink;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Panel;
import com.google.inject.Singleton;

/**
 * @author Christophe De Blende
 * @since 02/01/13
 */
@Singleton
public class MainView extends Composite implements MainPresenter.Display {

	private static final HomeViewUiBinder ourUiBinder = GWT.create(HomeViewUiBinder.class);

	@UiField
	Container content;

	@UiField
	NavLink activityLink;

	@UiField
	NavLink contactLink;

	@UiField
	NavLink customerLink;

	@UiField
	NavLink employeeLink;

	@UiField
	NavLink projectLink;

	@UiField
	NavLink timesheetLink;

	@UiField
	Nav links;

	public MainView() {
		initWidget(ourUiBinder.createAndBindUi(this));
	}

	public Panel getContent() {
		return content;
	}

	@Override
	public HasClickHandlers activityLink() {
		return activityLink;
	}

	@Override
	public HasClickHandlers contactLink() {
		return contactLink;
	}

	@Override
	public HasClickHandlers customerLink() {
		return customerLink;
	}

	@Override
	public HasClickHandlers employeeLink() {
		return employeeLink;
	}

	@Override
	public HasClickHandlers projectLink() {
		return projectLink;
	}

	@Override
	public HasClickHandlers timesheetLink() {
		return timesheetLink;
	}

	interface HomeViewUiBinder extends UiBinder<HTMLPanel, MainView> {
	}

}